package com.fowo.api.model.fbainvoice.detail;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import javax.validation.constraints.*;
import lombok.Data;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.fowo.api.sys.entity.SysFile;
import com.fowo.api.common.excel.ImageConvert;
import java.util.List;

/** 发货单详细 导入导出辅助模型 */
@Data
public class FBAInvoiceDetailExcelPo {
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, dataFormat = 49)
    @ExcelProperty(value = "所属发货单")
    private String parentFBAInvoiceLogisticsProvider;

@ExcelIgnore
    @ExcelProperty(value = "所属发货单")
    private Long parentFBAInvoice;

@Size(max = 50, message = "计划发货量长度不能超过20")
    @ExcelProperty(value = "计划发货量")
    private Integer planSendQuantity;

    @ExcelProperty(value = "申报量")
    private Integer declarationQuantity;

@NotNull(message = "发货量不能为空")
    @ExcelProperty(value = "*发货量")
    private Integer sendQuantity;

@Size(max = 50, message = "发货计划长度不能超过20")
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, dataFormat = 49)
    @ExcelProperty(value = "发货计划")
    private String planShipCode;

    @ExcelProperty(value = "总净重")
    private java.math.BigDecimal totalSuttle;

    @ExcelProperty(value = "总毛重")
    private java.math.BigDecimal totalGross;

    @ExcelProperty(value = "总体积")
    private java.math.BigDecimal totalVolume;

@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, dataFormat = 49)
    @ExcelProperty(value = "品名")
    private String nameName;

@ExcelIgnore
    @ExcelProperty(value = "品名")
    private Long name;

@Size(max = 50, message = "MSKU长度不能超过20")
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, dataFormat = 49)
    @ExcelProperty(value = "MSKU")
    private String msku;

@Size(max = 50, message = "FNSKU长度不能超过20")
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, dataFormat = 49)
    @ExcelProperty(value = "FNSKU")
    private String fnsku;

@Size(max = 50, message = "SKU长度不能超过20")
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, dataFormat = 49)
    @ExcelProperty(value = "SKU")
    private String sku;

@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, dataFormat = 49)
    @ExcelProperty(value = "店铺")
    private String shopIdShopName;

@ExcelIgnore
    @ExcelProperty(value = "店铺")
    private Long shopId;

@Size(max = 50, message = "国家长度不能超过20")
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, dataFormat = 49)
    @ExcelProperty(value = "国家")
    private String country;

    @ExcelProperty(value = "税费")
    private java.math.BigDecimal taxAmount;

@Size(max = 50, message = "发货仓库FNSKU长度不能超过20")
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, dataFormat = 49)
    @ExcelProperty(value = "发货仓库FNSKU")
    private String shipmentShopFnsku;

@Size(max = 50, message = "发货仓库店铺长度不能超过20")
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, dataFormat = 49)
    @ExcelProperty(value = "发货仓库店铺")
    private String shipmentShop;

@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, dataFormat = 49)
    @ExcelProperty(value = "仓位")
    private String warehouseBinStorageBin;

@ExcelIgnore
    @ExcelProperty(value = "仓位")
    private Long warehouseBin;

@Size(max = 50, message = "仓位数量长度不能超过20")
    @ExcelProperty(value = "仓位数量")
    private Integer warehouseBinNum;

    @ExcelProperty(value = "箱数")
    private Integer boxNum;

@Size(max = 50, message = "箱规名称长度不能超过20")
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, dataFormat = 49)
    @ExcelProperty(value = "箱规名称")
    private String boxList;

    @ExcelProperty(value = "箱子毛重（kg）")
    private java.math.BigDecimal boxGross;

    @ExcelProperty(value = "箱子长(cm)")
    private java.math.BigDecimal boxLength;

    @ExcelProperty(value = "箱子宽")
    private java.math.BigDecimal boxWidth;

    @ExcelProperty(value = "箱子高")
    private java.math.BigDecimal boxHeight;

    @ExcelProperty(value = "单箱数量")
    private Integer quantityInCase;

    @ExcelProperty(value = "CBM")
    private java.math.BigDecimal cbm;

    @ExcelProperty(value = "总重量（kg）")
    private java.math.BigDecimal tatolWeight;

    @ExcelProperty(value = "总体积重")
    private java.math.BigDecimal tatolVolumeWeight;

    @ExcelProperty(value = "单品净重")
    private java.math.BigDecimal oneSuttle;

    @ExcelProperty(value = "单品毛重")
    private java.math.BigDecimal oneGross;

    @ExcelProperty(value = "包装规格（cm）长")
    private java.math.BigDecimal packageLength;

    @ExcelProperty(value = "包装规格（cm）宽")
    private java.math.BigDecimal packageWidth;

    @ExcelProperty(value = "包装规格（cm）高")
    private java.math.BigDecimal packageHeight;

@Size(max = 500, message = "图片长度不能超过20")
    @ExcelProperty(value = "图片",converter = ImageConvert.class)
    private List<SysFile> picUrl;

@Size(max = 50, message = "仓位编码长度不能超过20")
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, dataFormat = 49)
    @ExcelProperty(value = "仓位编码")
    private String whbCode;

@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, dataFormat = 49)
    @ExcelProperty(value = "可用仓位")
    private String outBingIdStorageBin;

@ExcelIgnore
    @ExcelProperty(value = "可用仓位")
    private Long outBingId;

@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, dataFormat = 49)
    @ExcelProperty(value = "可用暂存仓位")
    private String inBingIdStorageBin;

@ExcelIgnore
    @ExcelProperty(value = "可用暂存仓位")
    private Long inBingId;

}
